/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo.DAL;

import Modelo.EsImplicado;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import org.json.JSONObject;

/**
 *
 * @author miguel474
 */
public class EsImplicado_DAO {

    public static void agregarEsImplicado(EsImplicado registro) {
        ConexionBD conexion = new ConexionBD();
        Statement s = null;
        try {
            s = conexion.session.createStatement();
        } catch (SQLException se) {
            System.out.println("Error Insertando Novedad!");
        }
        String query = "INSERT INTO es_implicado(ci,id_reporte_novedad,tipo_implicado)"
                + "VALUES ('" + registro.getCi() + "',"
                + registro.getReporteNovedad().toString()
                + ",'" + registro.getTipoImplicado() + "')";
        System.out.println("\n\tQuery: " + query + "\n");
        System.out.println(query);
        try {
            s.executeUpdate(query);
            conexion.cerrarConexion();
        } catch (SQLException se) {
            System.out.println("Error en la consulta");
            conexion.cerrarConexion();
        }
    }

    public static JSONObject consultarImplicados(String id) {
        ConexionBD conex = new ConexionBD();
        JSONObject Implicados = new JSONObject();

        try {
            Statement st = (Statement) conex.session.createStatement();
            String query = "SELECT c.nombre_1, "
                    + "c.apellido_1, "
                    + "e.ci, "
                    + "c.telefono, "
                    + "e.tipo_implicado "
                    + "FROM   es_implicado e, "
                    + "comunidad_universitaria c "
                    + "WHERE  c.ci = e.ci AND "
                    + "e.id_reporte_novedad = " + id;
            ResultSet rs = st.executeQuery(query);
            int i = 0;
            while (rs.next()) {
                JSONObject Implicado = new JSONObject();
                Implicado.put("nombre", rs.getString(1).trim());
                Implicado.put("apellido", rs.getString(2).trim());
                String[] split_cedula = rs.getString(3).trim().split("-");
                Implicado.put("nacionalidad", split_cedula[0]);
                Implicado.put("cedula", split_cedula[1]);
                Implicado.put("telefono", "0"+rs.getString(4).trim());
                String implicado = rs.getString(5).trim();
                Implicado.put("denunciante", implicado.contains("D"));
                Implicado.put("agraviado", implicado.contains("A"));
                Implicado.put("indiciado", implicado.contains("I"));
                Implicado.put("testigo", implicado.contains("T"));
                Implicados.put("" + i++, Implicado);
            }
            rs.close();
        } catch (Exception e) {
        } finally {
            conex.cerrarConexion();
        }
        return Implicados;
    }

    public static void BorrarImplicados(String reporteId) {
        ConexionBD conexion = new ConexionBD();
        Statement s = null;

        try {
            s = conexion.session.createStatement();
        } catch (SQLException se) {
            System.out.println("Error Actualizando Reporte!");
        }
        String query = "DELETE FROM es_implicado "
                       +" WHERE id_reporte_novedad = "+reporteId;
        System.out.println("\n\tQuery: " + query + "\n");
        System.out.println(query);
        try {
            s.executeUpdate(query);
        } catch (SQLException se) {
            System.out.println("Error Actualizando Espacio de Reporte!");
        } finally{
            conexion.cerrarConexion();
        }
    }
}
